/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.trandio.manager;

import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import javax.faces.context.FacesContext;
import javax.naming.NamingException;
import javax.servlet.http.HttpSession;
import org.trandio.dao.AutenticacionDAO;
import org.trandio.dao.SedeDAO;
import org.trandio.model.SedeVO;

/**
 *
 * @author root
 */
public class LoginBean {

    public LoginBean() throws SQLException, NamingException {

        System.out.println("Entro al Loginb");

    }
    private int idUsuario;
    private String login;
    private String clave;
    private String nombre;
    private String dependencia;
    private int band;
    
    private int idSede;

    public int getIdSede() {
        return idSede;
    }

    public void setIdSede(int idSede) {
        this.idSede = idSede;
    }

    public String getClave() {
        return clave;
    }

    public void setClave(String clave) {
        this.clave = clave;
    }

    public String getDependencia() {
        return dependencia;
    }

    public void setDependencia(String dependencia) {
        this.dependencia = dependencia;
    }

    public int getIdUsuario() {
        return idUsuario;
    }

    public void setIdUsuario(int idUsuario) {
        this.idUsuario = idUsuario;
    }

    public String getLogin() {
        return login;
    }

    public void setLogin(String login) {
        this.login = login;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public int getBand() {
        return band;
    }

    public void setBand(int band) {
        this.band = band;
    }

    public String validarUsuario() throws NamingException, SQLException {
        String respuesta = "valido";

        AutenticacionDAO autenticacionDAO = new AutenticacionDAO();
        respuesta = autenticacionDAO.validarUsuario(login, clave, idSede );

        if (respuesta.equals("fallo")) {
            setBand(0);
        }else{
            setBand(1);
        }
            


        System.out.println(respuesta + "<----");


        return respuesta;
    }

    public String logout() {
        FacesContext context = FacesContext.getCurrentInstance();
        HttpSession session =
                (HttpSession) context.getExternalContext().getSession(true);
        if (session == null) {
            return "invalid";
        } else {
            session.invalidate();
            return "logoutsuccess";
        }
    }

    public int getUsuarioActivo() {
        FacesContext context = FacesContext.getCurrentInstance();
        HttpSession session = (HttpSession) context.getExternalContext().getSession(false);
        int id = (Integer) session.getAttribute("id");
        return id;
    }

    public int getPrestadorUsuarioActivo() {
        FacesContext context = FacesContext.getCurrentInstance();
        HttpSession session = (HttpSession) context.getExternalContext().getSession(false);
        int id = (Integer) session.getAttribute("prestador");
        return id;
    }

    public String getNombreUsuario() {
        FacesContext context = FacesContext.getCurrentInstance();
        HttpSession session = (HttpSession) context.getExternalContext().getSession(false);
        return (String) session.getAttribute("nombre");
    }


    public Map getListaSede() throws NamingException, SQLException {

        System.out.println("Sede");
        SedeDAO sd = new SedeDAO();
//   setSedeVO();

        Map tmapSede = new TreeMap();
        tmapSede.put("Seleccione", "0");
        for (SedeVO s : sd.obtenerSede()) {
            tmapSede.put( s.getDescripcion(), s.getId() );
        }
        return tmapSede;
    }
}